package com.ehotting.edsta.system.service;

import com.ehotting.eaf.core.domain.system.api.UserLicense;

import java.util.List;

/**
 * C端用户licenseService接口
 * 
 * @author edsta
 * @date 2023-03-24
 */
public interface IUserLicenseService 
{
    /**
     * 查询C端用户license
     * 
     * @param id C端用户license主键
     * @return C端用户license
     */
    UserLicense selectUserLicenseById(Long id);

    /**
     * 查询C端用户license列表
     * 
     * @param userLicense C端用户license
     * @return C端用户license集合
     */
    List<UserLicense> selectUserLicenseList(UserLicense userLicense);

    /**
     * 新增C端用户license
     * 
     * @param userLicense C端用户license
     * @return 结果
     */
    int insertUserLicense(UserLicense userLicense);

    /**
     * 修改C端用户license
     * 
     * @param userLicense C端用户license
     * @return 结果
     */
    int updateUserLicense(UserLicense userLicense);

    /**
     * 批量删除C端用户license
     * 
     * @param ids 需要删除的C端用户license主键集合
     * @return 结果
     */
    int deleteUserLicenseByIds(Long[] ids);

    /**
     * 删除C端用户license信息
     * 
     * @param id C端用户license主键
     * @return 结果
     */
    int deleteUserLicenseById(Long id);

    /**
     * 批量审核
     * @param ids
     * @param status
     * @return
     */
    int verifyUserLicenseByIds(Long[] ids, String status);

    /**
     * 审核通过license
     * @param id
     * @return
     */
    int verifyUserLicenseById(Long id);

    int verifyExtendUserLicenseById(Long id);

    /**
     * 取消license
     * @param id
     * @return
     */
    int cancelUserLicenseById(Long id);
}
